using System;
using System.ComponentModel;

namespace SBPweb.Contracts
{
	/// <summary>
	/// Interface of IClearable
	/// </summary>
	public interface IClearable
    {
		/// <summary>
		/// Is cleared?
		/// </summary>
        bool IsCleared
        {
            get;
        }

		/// <summary>
		/// Is clearable?
		/// </summary>
        bool IsClearable
        {
            get;
        }

		/// <summary>
		/// Clear
		/// </summary>
		/// <returns>success</returns>
        bool Clear();

		/// <summary>
		/// Event for Clearing
		/// </summary>
        event CancelEventHandler Clearing;
		/// <summary>
		/// Event for Cleared
		/// </summary>
        event EventHandler Cleared;
    }
}
